package com.smart.community.user.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.smart.community.commons.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 用户审核实体类
 * 
 * @author Wu.Liang
 * @since 2024-12-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sc_user_audit")
public class UserAudit extends BaseEntity {

    /**
	 * @author Wu.Liang
	 * @date 2025年7月29日
	 */
	private static final long serialVersionUID = 1879569993650639309L;

	/**
     * 用户ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 审核类型：1-注册审核，2-信息变更审核，3-角色变更审核
     */
    @TableField("audit_type")
    private Integer auditType;

    /**
     * 审核内容(JSON)
     */
    @TableField("audit_content")
    private String auditContent;

    /**
     * 原始数据(JSON)
     */
    @TableField("old_data")
    private String oldData;

    /**
     * 新数据(JSON)
     */
    @TableField("new_data")
    private String newData;

    /**
     * 审核状态：0-待审核，1-审核通过，2-审核拒绝
     */
    @TableField("audit_status")
    private Integer auditStatus;

    /**
     * 审核人ID
     */
    @TableField("audit_by")
    private Long auditBy;

    /**
     * 审核时间
     */
    @TableField("audit_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditTime;

    /**
     * 审核意见
     */
    @TableField("audit_remark")
    private String auditRemark;

    /**
     * 提交时间
     */
    @TableField("submit_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime submitTime;
} 